Parse prefix-detection in a human-machine interface

ABSTRACT

A speech-based human-machine interface that parses words spoken to detect a complete parse and, responsive to so detecting, computes a hypothesis as to whether the words are a prefix to another complete parse. The duration of no voice activity period to determine an end of a sentence depends on the prefix hypothesis. The user&#39;s typical speech speed profile and a short-term measure of speech speed also scale the period. Speech speed is measured by the time between words, and the period scaling uses a continuously adaptive algorithm. The system uses a longer cut-off period after a system wake-up event but before it detects any voice activity.

FIELD OF THE INVENTION

The present invention is applicable in the field of natural language,turn-taking, speech-based, human-machine interfaces.

BACKGROUND

A sentence expresses a complete thought. Knowing when a thought iscomplete is important in machines with natural language, turn-taking,speech-based, human-machine interfaces. It tells the system when tospeak in a conversation, effectively cutting off the user.

Some systems with speech interfaces that attempt to detect the end of asentence (EOS) based on an amount of time with no voice activitydetection (NVAD) use too short of a timeout period and, as a result, cutoff people who speak slowly or with long pauses between words or clausesof a sentence.

Some systems that attempt to detect an EOS based on an amount of timewith NVAD use a long timeout period and, as a result, are slow torespond at the end of sentences.

Both problems frustrate users.

SUMMARY OF THE INVENTION

According to some embodiments, a natural language, turn-taking,speech-based human-machine interface parses words spoken to detect acomplete parse. Some embodiments compute a hypothesis as to whether thewords received so far, even for a complete parse, are a prefix toanother complete parse.

According to some embodiments, the duration of a period of no voiceactivity detected (NVAD) determines the cut-off of an end of a sentence,and the NVAD cut-off period depends on the prefix hypothesis, which canbe a Boolean or a numerical value.

Some embodiments profile users by their typical speech speed profile.Some embodiments compute a short-term measure of speech speed. Someembodiments scale the NVAD cut-off period based on one or both of theuser's typical speech speed or the short-term measure of speech speed.

Some embodiments compute speech speed based on phoneme rate. Someembodiments compute speech speed by the time between words. Someembodiments use a continuously adaptive algorithm with corrections toadjust the NVAD cut-off period.

Some embodiments use a longer cut-off period after a system wake-upevent but before the system detects any voice activity.

Adjusting the NVAD cut-off period, according to various embodiments,avoids cutting off slow speakers while improving responsiveness for fastspeakers and avoiding pre-mature cut-offs for incomplete sentences.

BRIEF DESCRIPTION OF THE DRAWINGS

FIG. 1 shows a human interfacing with a machine according to anembodiment.

FIG. 2 shows a sentence with pauses and its periods of voice activitydetection, periods of complete parses, and its dynamic NVAD cut-offperiod.

FIG. 3 shows a sentence from a fast speaker with pauses and its periodsof voice activity detection, periods of complete parses, and its dynamicNVAD cut-off period.

FIG. 4 shows a timeout after a long pause during an incomplete parse.

FIG. 5A shows a rotating disk non-transitory computer readable mediumaccording to an embodiment.

FIG. 5B shows a non-volatile memory chip non-transitory computerreadable medium according to an embodiment.

FIG. 5C shows a computer processor chip for executing code according toan embodiment.

FIG. 6 shows a human interface device coupled to a cloud serveraccording to an embodiment.

FIG. 7 shows a block diagram of a processor chip according to anembodiment.

FIG. 8 is a flow diagram depicting an embodiment of a method to assignan NVAD cut-off period.

FIG. 9 is a flow diagram depicting an embodiment of a method to scale anNVAD cut-off period.

FIG. 10 is a flow diagram depicting an embodiment of a method toincrease an NVAD cut-off period.

FIG. 11 is a flow diagram depicting an embodiment of a method forchanging a duration of an NVAD cut-off period.

DETAILED DESCRIPTION

In the following disclosure, reference is made to the accompanyingdrawings, which form a part hereof, and in which is shown by way ofillustration specific implementations in which the disclosure may bepracticed. It is understood that other implementations may be utilizedand structural changes may be made without departing from the scope ofthe present disclosure. References in the specification to “oneembodiment,” “an embodiment,” “an example embodiment,” etc., indicatethat the embodiment described may include a particular feature,structure, or characteristic, but every embodiment may not necessarilyinclude the particular feature, structure, or characteristic. Moreover,such phrases are not necessarily referring to the same embodiment.Further, when a particular feature, structure, or characteristic isdescribed in connection with an embodiment, it is submitted that it iswithin the knowledge of one skilled in the art to affect such feature,structure, or characteristic in connection with other embodimentswhether or not explicitly described.

Implementations of the systems, devices, and methods disclosed hereinmay comprise or utilize a special purpose or general-purpose computerincluding computer hardware, such as, for example, one or moreprocessors and system memory, as discussed herein. Implementationswithin the scope of the present disclosure may also include physical andother computer-readable media for carrying or storingcomputer-executable instructions and/or data structures. Suchcomputer-readable media can be any available media that can be accessedby a general purpose or special purpose computer system.Computer-readable media that store computer-executable instructions arecomputer storage media (devices). Computer-readable media that carrycomputer-executable instructions are transmission media. Thus, by way ofexample, and not limitation, implementations of the disclosure cancomprise at least two distinctly different kinds of computer-readablemedia: computer storage media (devices) and transmission media.

Computer storage media (devices) includes RAM, ROM, EEPROM, CD-ROM,solid state drives (“SSDs”) (e.g., based on RAM), Flash memory,phase-change memory (“PCM”), other types of memory, other optical diskstorage, magnetic disk storage or other magnetic storage devices, or anyother medium which can be used to store desired program code means inthe form of computer-executable instructions or data structures andwhich can be accessed by a general purpose or special purpose computer.

An implementation of the devices, systems, and methods disclosed hereinmay communicate over a computer network. A “network” is defined as oneor more data links that enable the transport of electronic data betweencomputer systems and/or modules and/or other electronic devices. Wheninformation is transferred or provided over a network or anothercommunications connection (either hardwired, wireless, or a combinationof hardwired or wireless) to a computer, the computer properly views theconnection as a transmission medium. Transmissions media can include anetwork and/or data links, which can be used to carry desired programcode means in the form of computer-executable instructions or datastructures and which can be accessed by a general purpose or specialpurpose computer. Combinations of the above should also be includedwithin the scope of computer-readable media.

Computer-executable instructions comprise, for example, instructions anddata which, when executed at a processor, cause a general purposecomputer, special purpose computer, or special purpose processing deviceto perform a certain function or group of functions. The computerexecutable instructions may be, for example, binaries, intermediateformat instructions such as assembly language, or even source code.Although the subject matter is described in language specific tostructural features and/or methodological acts, it is to be understoodthat the subject matter defined in the appended claims is notnecessarily limited to the described features or acts described herein.Rather, the described features and acts are disclosed as example formsof implementing the claims.

Those skilled in the art will appreciate that the disclosure may bepracticed in network computing environments with many types of computersystem configurations, including, an in-dash vehicle computer, personalcomputers, desktop computers, laptop computers, message processors,hand-held devices, multi-processor systems, microprocessor-based orprogrammable consumer electronics, network PCs, minicomputers, mainframecomputers, mobile telephones, PDAs, tablets, pagers, routers, switches,various storage devices, and the like. The disclosure may also bepracticed in distributed system environments where local and remotecomputer systems, which are linked (either by hardwired data links,wireless data links, or by a combination of hardwired and wireless datalinks) through a network, both perform tasks. In a distributed systemenvironment, program modules may be located in both local and remotememory storage devices.

Further, where appropriate, functions described herein can be performedin one or more of: hardware, software, firmware, digital components, oranalog components. For example, one or more application specificintegrated circuits (ASICs) can be programmed to carry out one or moreof the systems and procedures described herein. Certain terms are usedthroughout the description and claims to refer to particular systemcomponents. As one skilled in the art will appreciate, components may bereferred to by different names. This document does not intend todistinguish between components that differ in name, but not function.

It should be noted that the sensor embodiments discussed herein maycomprise computer hardware, software, firmware, or any combinationthereof to perform at least a portion of their functions. For example, asensor may include computer code configured to be executed in one ormore processors, and may include hardware logic/electrical circuitrycontrolled by the computer code. These example devices are providedherein purposes of illustration, and are not intended to be limiting.Embodiments of the present disclosure may be implemented in furthertypes of devices, as would be known to persons skilled in the relevantart(s).

At least some embodiments of the disclosure are directed to computerprogram products comprising such logic (e.g., in the form of software)stored on any computer useable medium. Such software, when executed inone or more data processing devices, causes a device to operate asdescribed herein.

Some embodiments begin parsing speech in response to a wake-up eventsuch as a user saying a key phrase such as “hey Alexa”, a user tapping amicrophone button, or a user gazing at a camera in a device. Suchembodiments eventually cut off after a NVAD cut-off period. Someembodiments parse speech continuously, but cut off the parsing of asentence, treating it as complete, after a NVAD cut-off period.

To be responsive to fast speech without cutting off slow speech it isideal to adapt the EOS NVAD period to the maximum pause length betweenwords within an incomplete sentence.

Some embodiments do so by having a set of cutoff periods and using ashorter one when the words captured so far constitute a complete parseaccording to a natural language grammar and a longer cutoff period whenthe words captured so far do not constitute a complete parse.

Some such embodiments have a problem of cutting off users when the wordsso far are a complete parse but are a prefix to a longer sentence. Forexample, “what's the weather” is a parsable prefix of the sentence,“what's the weather in Timbuctoo”, which is a prefix of the sentence,“what's the weather in Timbuctoo going to be tomorrow”.

Some embodiments have a problem with users not recognizing that thesystem detected a wake-up event and is attempting to parse speech. Insuch events, there can be long periods of silence before the userprovides any speech voice activity. Some embodiments address this byhaving a long NVAD cut-off period for the time after a wake-up eventoccurs and before the system detects any voice activity. Someembodiments use a long NVAD period of 5 seconds. Some embodiments use along NVAD period of 3.14159 seconds.

FIG. 1 shows an embodiment of a human-machine interface. A human user 12speaks to a machine 14, saying, “hey robot, what's the weather inTimbuctoo”, as depicted by a speech bubble 16.

Training a Model

Some words spoken so far, having a complete parse, are very likely theentire user's sentence, for example, “how high is Mount Everest”. It ispossible, but infrequent, that a user would continue the sentence suchas by saying, “how high is Mount Everest in Nepal”. In fact, it is rarethat any sentence beginning with “how high is <thing>” going to becontinued. However, Some words spoken so far, having a complete parse,are frequently followed by more information that creates another longercomplete parse. For example, “what's the weather” (which implies a queryabout the present time and current location) is a complete parse that isoften continued such as by saying, “what's the weather going to betomorrow” or “what's the weather in <place>”.

Some embodiments use a trained model of whether a complete parse is auser's intended complete sentence. The model in some embodiments is aneural network. Various other types of models are appropriate forvarious embodiments.

Some embodiments use a statistical language model (SLM). They train theSLM using n-grams that include an end of sentence token.

Some embodiments train a model from a corpus of captured spokensentences. Some embodiments that use data from systems that cut offspeech after EOSs, to avoid biasing the model with data from prematurelycut-off sentences, continue capturing sentences for a period of timeafter EOSs and discard sentences with speech after the EOS from thetraining corpus.

Some embodiments train a model from sources of natural languageexpressions other than captured speech, such as The New York Times,Wikipedia, or Twitter. Some embodiments train models from sources ofspeech not subject to EOSs, such as movies and videos.

Some embodiments train a model by analyzing natural language grammarrules to determine all possible complete parses in order to determinewhich complete parses are prefixes to other complete parses. Some suchembodiments apply weights based on likelihoods of particular forms ofparsable sentences.

Some embodiments aggregate multiple grammar rules to detect completeparses that are prefixes of other complete parses. This is usefulbecause some sets of words so far are parsable according to multiplegrammar rules.

Some embodiments replace specific entity words with generic tags in thetraining corpus. For example, a generic person tag replaces all people'snames and a generic city tag replaces all city names. Applying such amodel requires that word recognition or parsing apply a correspondingreplacement of entity words with generic tags.

Applying a Model

Some embodiments have multiple NVAD cut-off periods, a long one whenthere is no complete parse (Incomplete) and a short one when there is acomplete parse (Complete). Some such embodiments have another NVADcut-off period longer than the short one for when there is a completeparse that can be a prefix to another complete parse (Prefix). Someembodiments have another NVAD cut-off period longer than the long onefor the time after the system wakes up but before it detects any voiceactivity (Initial).

FIG. 2 shows processing a spoken sentence that comprises a firstcomplete parse (“what's the weather”) that is a prefix to a secondcomplete parse (“what's the weather in Timbuctoo”). The speech beginswith a wake-up key phrase “hey robot”, followed by a period of no voiceactivity detection (VAD) 22. The system chooses a NVAD cut-off period of5 seconds. Next, the system detects voice activity and proceeds toreceive words, “what's the weather”, during which time there is nocomplete parse and so the system chooses a NVAD cut-off period of 2seconds. Next, there is a pause in the speech 24, during which timethere is no VAD, but a complete parse. Since there is a complete parse,the system chooses a shorter NVAD period of 1 second. Next, the speechcontinues, so there is VAD but again no complete parse, so the systemreturns to a NVAD cut-off period of 2 seconds. Finally, is anotherperiod of silence 26, during which there is no VAD, but a completeparse, so the system chooses a NVAD period of 1 second.

Some embodiments apply the model for detecting whether a complete parseis a prefix to another longer complete parse in response to detectingthe first complete parse. Some embodiments apply the model continuously,regardless of whether the words received so far constitute a completeparse. Such embodiments effectively have a continuous hypothesis as towhether the sentence is complete, the hypothesis has maxima whenever aset of words comprises a complete parse, the maxima being larger forcomplete parses that are less likely to be prefixes of other completeparses.

In some embodiments, the model produces not a Boolean value, but anumerical score of a likelihood of a complete parse being a completesentence. Some such embodiments, rather than having a specific Prefixcut-off period, scale the Prefix cut-off period according to the score.A higher score would cause a shorter NVAD cut-off period.

Some embodiments use a continuously adaptive algorithm to continuouslyadapt the NVAD cut-off period. Some such embodiments gradually decreaseone or more NVAD cut-off periods, such as by 1% of the NVAD cut-offperiod each time there is a cut-off, and, if the speaker continues asentence after a partial period threshold, such as 80%, the NVAD cut-offperiod, the NVAD cut-off period increases, such as by 5% for each suchoccurrence of a user continuing a sentence. Some embodiments increasethe NVAD cut-off period in proportion to the amount of time beyond apartial-period threshold (such as 80%) after which that the usercontinued the sentence.

Some embodiments display information visually after detecting a completeparse but before a NVAD cut-off. Some such embodiments change the visualdisplay as soon as they detect further voice activity before the NVADcut-off. For example, for the sentence “what's the weather going to betomorrow in Timbuctoo” such an embodiment would:

as soon as the user finishes saying, “what's the weather” display thecurrent weather in the present location;

as soon as the user says, “going” clears the display;

as soon as the user finishes saying, “to be tomorrow” displays theweather forecast for tomorrow in the present location;

as soon as the user says, “in” clears the display; and

as soon as the user says, “Timbuctoo” displays the weather forecast fortomorrow in Timbuctoo.

Some embodiments do not cut off user speech when detecting an EOS, butinstead, use the NVAD cut-off period to determine when to perform anaction in response to the sentence. This supports an always-listeningexperience that doesn't require a wake-up event. Even foralways-listening embodiments, knowing when to respond is important toavoid the response interrupting the user or the response performing adestructive activity that wasn't the user's intent.

Profiling Users

Some embodiments profile users as to their typical speech speed, storethe user's typical speech speed in a user profile, later acquire theuser's typical speech speed from the user profile, and scale one or moreof the NVAD cut-off periods according to the user's typical speechspeed.

Some embodiments compute a user's typical speech speed by detectingtheir phoneme rate. That is, computing their number of phonemes per unittime. Some embodiments store a long-term average phoneme rate in theuser's profile. Some embodiments compute a short-term average phonemerate, which is useful since user phoneme rates tend to vary based onenvironment and mood.

Some embodiments compute a user's typical speech speed by detectingtheir inter-word pause lengths. That is, using the time between the lastphoneme of each word and the first phoneme of its immediately followingword. Long-term and short-term inter-word pause length calculations areboth independently useful to scale the NVAD cut-off period.

FIG. 3 shows processing a spoken sentence that comprises a firstcomplete parse (“what's the weather”) that is a prefix to a secondcomplete parse (“what's the weather in Timbuctoo”). However, incomparison to the scenario of FIG. 2, based on the user profile andshort-term speech speed, the system expects the user to speak 25% faster(therefore using 80% as much time for the same sentence). The speechbegins with a wake-up key phrase “hey robot”, followed by a period of novoice activity detection (VAD) 32. The system chooses a NVAD cut-offperiod of just 4 seconds. Next, the system detects voice activity andproceeds to receive words, “what's the weather”, during which time thereis no complete parse and so the system chooses a NVAD cut-off period ofjust 1.6 seconds. Next, there is a pause in the speech 34, during whichtime there is no VAD, but a complete parse. Since there is a completeparse, the system chooses a shorter NVAD period of just 0.8 seconds.Next, the speech continues, so there is VAD but again no complete parse,so the system returns to a NVAD cut-off period of just 1.6 seconds.Finally, is another period of silence 36, during which there is no VAD,but a complete parse, so the system chooses a NVAD period of just 0.8seconds.

FIG. 4 shows processing speech that never achieves a complete parse. Thespeech begins with a wake-up key phrase “hey robot”, followed by aperiod of no voice activity detection (VAD) 42. The system chooses aNVAD cut-off period of 5 seconds. Next, the system detects voiceactivity and proceeds to receive words, “what's the”, during which timethere is no complete parse and so the system chooses a NVAD cut-offperiod of 2 seconds. No more speech is received for the following period44, so after the system detects NVAD, it cuts off after 2 more seconds.

EOS Cues

Some embodiments choose a short EOS when detecting certain cues such asa period of NVAD followed by “woops” or a period of NVAD followed by“cancel”.

Some embodiments delay an EOS when detecting certain cues, such as“ummm” or “ahhh” or other filler words. The word “and”, “but”, “with” orphrases such as, “as well as” are also a high probability indicator of alikely continuation of a sentence. Some such embodiments, when detectingsuch filler words or conjunctions, reset the EOS NVAD cut-off timer.

Client-Server Considerations

Some embodiments perform NVAD on a client and some embodiments performword recognition and grammar parsing on a server connected to the clientthrough a network such as the Internet. Such embodiments send andreceive messages from time to time from the server to the clientindicating whether an end of sentence token is likely or a parse iscomplete or a prefix parse is complete. Such embodiments of clientsassume an incomplete parse, and therefore a long NVAD cut-off period,from whenever the client detects NVAD until reaching a cut-off unlessthe client receives a message indicating a complete parse in between.

Some client-server embodiments send either a voice activity indication,a NVAD indication, or both from the client to the server. This is usefulfor the server to determine NVAD cut-off periods. However, the amount ofnetwork latency affects the inaccuracy of the NVAD cut-off periodcalculation.

Implementations

FIG. 5A shows a rotating disk non-transitory computer readable mediumaccording to an embodiment. It stores code that, if executed by acomputer, would cause the computer to perform any of the methodsdescribed herein. FIG. 5B shows a non-volatile memory chipnon-transitory computer readable medium according to an embodiment. Itstores code that, if executed by a computer, would cause the computer toperform any of the methods described herein.

FIG. 5C shows a computer processor chip for executing code according toan embodiment. By executing appropriate code, it can control a system toperform any of the methods described herein.

FIG. 6 shows a human interface device 62 coupled to a server 64 in avirtual could 66 according to an embodiment. The human interface device62 receives user speech and sends it to the server 64. In someembodiments, the server 64 performs VAD. In some embodiments the device62 performs VAD and the server performs parsing of the speech. In someembodiments, the device 62 works independently of a server and performsparsing and VAD.

FIG. 7 shows a block diagram of a computer system 70 according to anembodiment. It comprises a central processing unit (CPU) 71 and agraphics processing unit (GPU) 72 that are each optimized for processingthat parses speech. They communicate through an interconnect 73 with adynamic random access memory (DRAM) 74. The DRAM 74 stores program codeand data used for processing. The CPU 71 and GPU 72 also communicatethrough interconnect 73 with a network interface (NI) 75. The NIprovides access to code and data needed for processing as well ascommunication between devices and servers such as for sending audioinformation or messages about voice activity or parse completion.

FIG. 8 is a flow diagram depicting an embodiment of a method 80 toassign an NVAD cut-off period. At 81, a processing system associatedwith a human-machine interface receives a spoken sentence. In someembodiments, the processing system may be realized by a system based onprocessor chip 70 or any similar processing-enabled architecture. Next,at 82, the processing system identifies a beginning of the sentence. Insome embodiments, the processing system identifies the beginning of thesentence by identifying a phrase such as, “hey robot,” a user tapping amicrophone button, or a user gazing at a camera associated with theprocessing system, as described herein. Next, at 83, the processingsystem parses speech from the beginning of the sentence according to anatural language grammar to determine whether the speech received so farconstitutes a complete parse. At 84, the processing system applies amodel to produce a hypothesis to determine whether the speech receivedso far is a prefix to another complete parse. Finally, at 85, theprocessing system assigns an NVAD cut-off period that is shorter than anNVAD cut-off period for an incomplete parse, depending on thehypothesis.

FIG. 9 is a flow diagram depicting an embodiment of a method 90 to scalean NVAD cut-off period. At 91, a processing system associated with ahuman-machine interface receives a spoken sentence. In some embodiments,the processing system may be realized by a system based on processorchip 70 or any similar processing-enabled architecture. In particularembodiments, the spoken sentence may be a recorded sentence, atext-to-speech input, an audio recording, or some other speech input. At92, the processing system identifies a beginning of a sentence, asdiscussed in the description of method 80. Next, at 93, the processingsystem parses speech from the beginning of the sentence according to anatural language grammar to determine whether the speech received so farconstitutes a complete parse. At 94, the processing system applies amodel to produce a hypothesis as to whether the speech received so faris a prefix to another complete parse. At 95, the processing systemassigns an NVAD cut-off period that is shorter than an NVAD cut-offperiod for an incomplete parse. Next, at 96, the processing systemacquires a user's typical speech speed value from a user profile thatmay be stored on a memory unit such as DRAM 74. At 97, the processingsystem computes a short-term user speech speed. Finally, at 98, theprocessing system scales the NVAD cut-off period based on a combinationof the user's typical speech speed and the short-term user speech speed.

FIG. 10 is a flow diagram depicting an embodiment of a method 100 toincrease an NVAD cut-off period. At 101, a processing system receivesaudio of at least one spoken sentence. Next, at 102, the processingsystem detects periods of voice activity and no voice activity in theaudio associated with the spoken sentence. At 103, the processing systemmaintains an NVAD cut-off based on the detection. At 104, the processingsystem decreases the NVAD cutoff period responsive to detecting acomplete sentence. Finally, at 105, the processing system increases theNVAD cut-off period responsive to detecting a period of voice activitywithin a partial period threshold of detecting a period of no voiceactivity where the partial period threshold is less than the NVADcut-off period.

FIG. 11 is a flow diagram depicting an embodiment of a method 110 forchanging a duration of an NVAD cut-off period. At 111, a processingsystem detects a wake-up event as discussed herein. At 112, theprocessing system waits for a relatively long initial NVAD cut-offperiod. Finally, at 113, the processing system selects a shorter NVADcut-off period based on detecting voice activity—this shorter NVADcut-off period is relative to the relatively long initial NVAD cut-offperiod. In some embodiments, the relatively long initial NVAD cut-offperiod is 5 seconds. In other embodiments, the relatively long initialNVAD cut-off period is 3.14159 seconds.

While various embodiments of the present disclosure are describedherein, it should be understood that they are presented by way ofexample only, and not limitation. It will be apparent to persons skilledin the relevant art that various changes in form and detail can be madetherein without departing from the spirit and scope of the disclosure.Thus, the breadth and scope of the present disclosure should not belimited by any of the described exemplary embodiments, but should bedefined only in accordance with the following claims and theirequivalents. The description herein is presented for the purposes ofillustration and description. It is not intended to be exhaustive or tolimit the disclosure to the precise form disclosed. Many modificationsand variations are possible in light of the disclosed teaching. Further,it should be noted that any or all of the alternate implementationsdiscussed herein may be used in any combination desired to formadditional hybrid implementations of the disclosure.

The invention claimed is:
 1. A method of adjusting a cut-off period fordetecting an end of a sentence, the method comprising: acquiring auser's longer-term average phoneme rate from a user profile; detectinginter-word pause lengths between a plurality of words spoken by theuser; computing a shorter-term average phoneme rate from the inter-wordpause lengths; and scaling an NVAD cut-off period based on thelonger-term average phoneme rate and the shorter-term average phonemerate.
 2. The method of claim 1, wherein detecting inter-word pauselengths comprise: identifying a beginning of a sentence; and parsingspeech from the beginning of the sentence according to a naturallanguage grammer to determine whether the speech received so farconstitutes a complete parse.
 3. The method of claim 1, whereindetecting inter-word pause lengths comprise: identifying a beginning ofa sentence; and parsing speech from the beginning of the sentenceaccording to a natural language grammer; and wherein scaling an NVADcut-off period comprises: applying a model to the parsing to produce ahypothesis as to whether the speech received so far is a likely prefixto another complete parse; scaling the NVAD cut-off period longer whenthe hypothesis indicates the parse is a likely prefix to anothercomplete parse; and scaling the NVAD cut-off period shorter when thehypothesis indicates the parse is not a likely prefix to anothercomplete parse.
 4. The method of claim 1, wherein scaling an NVADcut-off period comprises assigning an NVAD cut-off period that isshorter than an NVAD cut-off period for an incomplete parse.
 5. Themethod of claim 1, further comprising applying a model to the pluralityof words to produce a prefix hypothesis numerical score indicating alikelihood of the plurality of words being a complete sentence; andwherein scaling an NVAD cut-off period comprises scaling the NVAD cutoffperiod based on the longer-term average phoneme rate, the shorter-termaverage phoneme, and the prefix hypothesis numerical score.
 6. A methodof adjusting a cut-off period for detecting an end of a sentence, themethod comprising: identifying a beginning of a sentence including afirst plurality of words spoken by a user; assigning an NVAD cut-offperiod that is shorter than an NVAD cut-off period for an incompleteparse based on a prefix hypothesis numerical score produced by applyinga model; computing a user speech speed from inter-word pause lengthsbetween the words in the first plurality of words; applying the modelagain to the inter-word pause lengths to produce another prefixhypothesis numerical score indicating a likelihood of the received audiobeing a complete sentence; scaling the NVAD cut-off period based on theuser speech speed and the other prefix hypothesis numerical score; andparsing a second plurality of words spoken by the user according to anatural language grammar based on the scaled NVAD cut-off period todetermine that the first plurality of words and the second plurality ofwords collectively constitute a complete parse.
 7. The method of claim 6wherein applying the model is performed responsive to the speechreceived so far constituting a complete parse.